package ebcs.database.service;

import ebcs.database.bean.BsNeedInfor;
import ebcs.database.bean.BsUserDetailInfo;
import ebcs.database.bean.BsUserInfor;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
public interface BsUserInforServiceImp {

    //查询所有用户信息
    public List<BsUserInfor> selectUserInforByWechatUser();

    //根据手机号查询用户信息
    public BsUserInfor selectUserInforByPhoneNo(String phoneNo);

    List<BsUserInfor> selectUserInforsByPhoneNo(String phoneNo);

    //根据手机号获取用户需求信息
    public List<BsNeedInfor> searchNeedInforByPhoneNo(BsUserInfor user);

    //根据需求唯一编号查询数据
    public List<BsNeedInfor> selectByNeedId(String needId);

    //获取当前项目组最大用户号
    public String selectUserMaxNoByTeamNo(BsUserInfor user);

    //插入用户信息
    public int insertUserInfor(BsUserInfor user);

    //根据微信openid获取用户信息
    BsUserInfor selectUserInforByOpenid(String openid);

    //根据手机号更新Openid，对于重新登陆的用户使用
    int updateUserOpenIdByPhoneNo(String openid, String phoneNo);

    //查询再需求里面的用户信息
    List<BsUserInfor> selectUserInforInNeedInfor(String needId);

    //根据条件查询用户详细信息
    List<BsUserDetailInfo> selectUserDetail(BsUserDetailInfo detailInfo);

    //更新用户状态
    int updateUserStatus(BsUserInfor infor);

    //更新用户
    int updateUserByUserNo(BsUserInfor infor);
    
    /**
     * 用户后台登录方法
     * @param userName
     * @param password
     * @return
     */
    List<BsUserInfor> adminLogin(String phoneNo,String password);
    
    /**
     * 根据用户rouid查询该团队下所有注册未通过审批的用户
     * @param groupNo
     * @return
     */
    List<BsUserDetailInfo> selectNoPassRegUserByRouid(@Param("rouid")String rouid);
    int updateOpenidtoNullByRouid(@Param("rouid")String rouid);
}
